package com.zimin.cloud.system.biz.impl;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zimin.cloud.mine.pojo.system.business.PageConfigBO;
import com.zimin.cloud.mine.pojo.system.view.PageConfigVO;
import com.zimin.cloud.system.biz.IPageConfigBiz;
import com.zimin.cloud.system.pojo.entity.PageConfig;
import com.zimin.cloud.system.service.IPageConfigService;
import com.zimin.cloud.system.service.impl.PageConfigServiceImpl;
import com.zimin.common.annotation.Biz;
import com.zimin.common.exception.GraceException;
import com.zimin.common.utils.BeanUtils;
import com.zimin.shared.enums.ResponseStatusEnum;
import org.springframework.beans.factory.annotation.Autowired;


/**
 * <p>
 * 页面配置信息 业务对象
 * </p>
 *
 * @author zimin
 * @since 2022-05-15 18:14
 */
@Biz("pageConfigBiz")
public class PageConfigBizImpl extends PageConfigServiceImpl implements IPageConfigBiz {

    @Override
    public PageConfigVO findPageConfigByType(String pageType) {
        return super.findPageConfigByType(pageType);
    }

    @Override
    public boolean savePageConfig(PageConfigBO pageConfigBO) {
        var page = BeanUtils.coverClass(pageConfigBO, PageConfig.class);
        return super.save(page);
    }

    @Override
    public boolean updatePageConfig(PageConfigBO pageConfigBO) {
        var page = BeanUtils.coverClass(pageConfigBO, PageConfig.class);
        return super.updateById(page);
    }

    @Override
    public boolean setPageConfigStatus(String id, String status) {
        var pageConfig = getById(id);
        GraceException.isNull(pageConfig, ResponseStatusEnum.PAGE_CONFIG_NOT_EXIST);
        GraceException.isNull(status, ResponseStatusEnum.PAGE_CONFIG_PARAM_ERROR);
        pageConfig.setStatus(status);
        return super.updateById(pageConfig);
    }
}
